const STORAGE_KEY='mall';
/**
 * 说明 封装浏览器存储
 * 自定义
 * name:{price:12,age:19}
 * 这个时候name 是模块 price是key value是值
 * 如果{name:'名字'}
 * module_name没有 key是name vaue是名字
 * 
 * 兼容了模块和非模块
 */
export default{
    setItem(key,value,module_name){
        if(module_name){
            let val=this.getItem(module_name);
            val[key]=value;
            this.setItem(module_name,val);
        }else{
            let val=this.getStorage();
            val[key]=value;
            window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(val));
        }
        
    },
    //获取某个模块下面的属性
    getItem(key,module_name){
        if(module_name){
            let val=this.getItem(module_name);
            if(val) return val[key];
        }
        return this.getStorage()[key];
    },
    getStorage(){
        return JSON.parse(window.sessionStorage.getItem(STORAGE_KEY) || '{}');
    },
    clear(key,module_name){
        let val=this.getStorage();
        if(module_name){
            if(!val[module_name])return;
            delete val[module_name][key];
        }else{
            delete val[key];
        }
        window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(val));
    }
}

//使用开源重构 npm install localforage 也可以
